.radio {
  position: relative;
  cursor: pointer;
  padding-left: 80px;
  height: 56px;
  display: flex;
  align-items: center;
  margin-top: 14px;
  margin-bottom: 14px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.44;
  color: $black-two;

  &:first-of-type {
    margin-top: 0;
  }

  &:last-of-type {
    margin-bottom: 0;
  }
}

@media (min-width: $tablet-width) {
  .radio {
    padding-left: 76px;
    margin-top: 22px;
    margin-bottom: 22px;
  }
}

.radio__input {
  @include visually-hidden;

  &:focus ~ .radio__icon {
    outline: 3px solid #5fa0f8;
  }

  &:checked ~ .radio__icon {
    background-color: $black;

    &:active {
      background-color: rgba(51, 51, 51, 0.4);
    }
  }
}

.radio__icon {
  position: absolute;
  display: block;
  content: "";
  width: 20px;
  height: 20px;
  background-color: #f2f2f2;
  border: 17px solid #f2f2f2;
  border-radius: 50%;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  cursor: pointer;

  &:hover {
    background-color: #e5e5e5;
    border-color: #e5e5e5;
  }

  &:active {
    background-color: #d5d5d5;
    border-color: #d5d5d5;
  }
}
